package edu.kjxy.day02Synchronized.throwExceptionNoLock;

/**
 * 功能:当一个线程执行的代码出现异常时，其所持有的锁会自动释放。
 * 线程a出现异常并释放锁，线程b进入方法正常打印，出现异常的锁被自动释放
 * 作者:程序员欧阳子韩
 * 日期:2024/2/1 20:20
 */
public class RunTest {
    public static void main(String[] args) {
        try {
            Service service = new Service();
            ThreadA threadA = new ThreadA(service);
            threadA.setName("a");
            threadA.start();
            Thread.sleep(500);
            ThreadB threadB = new ThreadB(service);
            threadB.setName("b");
            threadB.start();
        }catch (InterruptedException e){
            e.printStackTrace();
        }
    }
}
